1. Field of the Invention
The invention relates in general to a frequency switching method of a CPU, and more particularly to a frequency switching method of an Intel® XScale™ CPU.
2. Description of the Related Art
The Central Processing Unit (CPU) of Intel® XScale™ Microarchitecture, for example, the PXA250 or PXA210 CPU, has the advantages of ultra-low power consumption, minute volume, and is highly integrated. It is suitable for embedded systems as well as portable devices, such as a personal digital assistant (PDA). Taking the PXA250 CPU as an example, it has three operational modes: Turbo, Run, and Idle. During the Turbo mode, the operational frequency of the PXA250 CPU can reach a maximum of 400 MHz; during the Run mode, the operational frequency has a minimum of 100 MHz. Using a PDA as an example, when the user doesn't operate it for a period of time, it automatically switches to Idle mode in order to reduce power consumption. This switch can occur even though the LCD screen is on, for example, while reading an electronic book. When the PXA250 CPU is switched from the highest frequency in Turbo mode to Idle mode, the PXA250 CPU consumes about 110 mA at the Idle mode; when the PXA250 CPU is switched from the lowest frequency of Run mode to Idle mode, the PXA250 CPU consumes only about 70 mA at Idle mode. There is a 36 percent power consumption difference between these two types of switch, therefore the power consumption can be reduced if the PXA250 CPU first switched from Turbo mode to the lowest frequency of Run mode and then switched to Idle mode.
FIG. 1 is the flow chart of the conventional frequency switching method of a PXA250 CPU in a PDA. When the PDA needs to enter a power-saving state, the PXA250 CPU is switched to Run mode with a 100 MHz frequency (step 110). Then the PXA250 CPU is switched to Idle mode (step 120). Step 110 and 120 assure the minimum power consumption of the PDA. When the Idle mode is terminated, such as an interrupt occurs, the PXA250 CPU is switched to the original mode, for example Turbo mode with a 400 MHz frequency (step 130) for the best performance.
However, an abnormal disturbance, which is called a glitch, occurs on the PDA's screen during the frequency switching in step 110 or 130. In Run mode with a 100 MHz frequency, the internal bus, PXBus, of PXA250 CPU operates on 50 MHz frequency, while in Turbo mode with 400 HMz frequency, the internal bus operates on 100 MHz frequency. Due to the frequency switching of the internal bus, the PLL (phase lock loop) of the PXA250 CPU is disabled and then the pixel clock stops, which result in the glitch on the screen.